In color printing or other types of color reproduction applications, color information must be communicated between a source (e.g., an input device) and an output device (e.g., a video monitor, color printer or printing press) such that the output device produces an image that is related to the source information regarding the image. Frequently, multiple output devices, such as display terminals and printers, communicate with a common input source, and perhaps with each other, during generation or reproduction of an output image. Inaccurate transfer or translation of input information to the output device results in inaccurate and unacceptable output images.
Output color quality is difficult to define and to achieve. Moreover, desired quality attributes generally vary from application to application. Users typically characterize desirable color quality as "clear," "bright," "high resolution," "smooth" and "accurate." An image may be considered to be of inadequate quality if: (1) the printed colors fail to look like the colors appearing on the display screen; (2) the printed colors fail to look like a standard set of colors; or (3) the printed colors fail to look like the colors produced by an offset printer. Printed output should at least correspond predictably to and, in some cases, accurately replicate the image created on, for example, a video display terminal.
Production of high quality printed output involves more than colorimetric accuracy. The user wants the output colors to look like he or she subjectively intends them to look. Color printer users' intent may vary depending on the particular application. For example, a user who is producing transparencies or the like for overhead presentations generally prefers bright, "pleasing" colors that are similar to those displayed on a CRT (with which the user probably designed the images). In the production of proofs of digitally edited scanned photographs, a user may want a precise reproduction of the displayed image. Another user, who is producing graphic designs that will ultimately be reproduced in large quantities by a printing press, is generally less concerned that the printed colors match the displayed colors. Instead, such a user wants the printer output to accurately represent the ultimate printing press output. Producing high quality color output, even if it could be objectively defined, is technically complex as a result of the various ways color is produced by output devices and the way software specifies what color is to be produced.
Video display terminals typically employ cathode ray tube (CRT) technology. A CRT is a raster device displaying images composed of thousands of pixels. For each pixel on the screen, triads of phosphor dots are provided. Each triad comprises three phosphor dots, one emitting each of the primary red, blue and green colors. CRT's thus utilize the additive primary colors red, green and blue (RGB). Color hues are produced by illuminating one or more of the phosphor dots in a triad. Additionally, the CRT can vary the intensity of the electron beam illuminating the phosphor dots to produce hues having more or less saturation and luminance. In this manner, high end workstations and terminals may provide palettes of 16 million or more shades of color.
Video RGB color is represented as a cube-shaped signal space having a black point at one corner and a white point at the diagonally opposing corner. The black point corresponds to the absence of emissions from all three phosphors, while the white point corresponds to the combined full intensity emissions of all three phosphors. Emanating from the black point in a mutually orthogonal relationship (i.e., in a cartesian coordinate system), three axes correspond to the red, green and blue phosphor intensities, respectively. Each axis terminates at the full intensity of the associated phosphor. Coordinates commonly referred to as "DAC values" are denominated along each axis. DAC values are numerical values corresponding to the electron gun control level required to illuminate a phosphor at a particular intensity. DAC values can be specified to generate any color in the cube-shaped RGB signal space.
Video RGB color selection is widely used because it is readily correlated to the hardware, i.e., the electron guns and associated drive circuitry, implemented in CRT displays. It is important to note, however, that the video RGB color does not provide a perceptually uniform color space. That means that at various locations within the RGB color cube, a selected change in the DAC values does not necessarily result in an equivalent perceived change in the displayed color. For example, changing the DAC values by n units in one region may not result in any perceived color change, while changing DAC values by n units in another region may yield a substantial perceived color change.
The perceptual nonuniformity of video RGB color is partly a result of the non-linearity of the CRT device and partly a result of the non-linearity of human vision in perceiving the color spectrum. The effect of this perceptual nonuniformity is that it is difficult for the user to specify colors and to accurately predict the output color for any change in input DAC values.
Color printers for computer graphics applications are typically raster devices that produce images using patterns of small ink dots. Conventional color printers, such as bi-level ink jet printers or thermal wax printers use three primary colorants--cyan, magenta, and yellow (CMY)--and frequently use black (K) as well. Cyan, magenta and yellow are referred to as subtractive primaries because the colorants act as filters that subtract or absorb certain light wavelengths and pass others. The primary colorants may be combined on a printing substrate to produce the binary colors red, green and blue. Color printers typically employ a dot-or-no-dot process using an eight color palette.
Differences in colorants, color signals, capabilities and color generation methods characteristic of display devices (e.g., CRT's) and color printers result in unpredictable color output. In more nearly perfect systems, the printed image would be a substantial duplicate or would correspond predictably to the displayed image. In practice, however, substantial duplication, or even a predictable correspondence between the displayed and printed images is difficult to attain.
Other differences in the nature of the color output--the CRT emits light, while printed substrates such as paper reflect light--exacerbate perceived color differences. Moreover, as a result of the differences in how the color information is specified and the output devices produce color, there are some displayed colors that a printer is incapable of reproducing and, conversely, there may be some printed colors that the display device is incapable of displaying. The range of color that a particular device is capable of printing is referred to as its gamut. Each output device has a characteristic color gamut. Differences in color gamut between various technologies and devices make precise color matching impossible.
Mapping colors from one device to another involves graphics software. Conventional color graphics software uses device-dependent color signals that describe primary colors and mixtures (e.g., RGB, CMYK) to the output device. Because RGB and CMYK values produce different colors on particular video monitors and printers, respectively, the actual color rendered, and hence the quality perceived by the user, depends on the particular output device.
Image processing comprehends a wide variety of manipulations that may take place during or after generation of an image. The image processing described herein relates to the specialized way that signals are processed by graphics software to compensate for the differences between various input and output devices such as display devices and printers. A technique known as dithering enables printers, despite the constraint of constant dot size and the lack of cost-effective variable intensity dots, to expand their palettes to millions of shades of color. Dithering does not, however, perform color matching functions to achieve correspondence between colors displayed on a display device and colors designated from the printer's palette. Additional color matching capability is especially important for users working in areas such as graphic arts, presentations, and professional publishing, where output color quality is of paramount importance.
Several systems have been developed to define colorimetric parameters and characterize perceptually uniform color spaces. The most prominent international standards for color specification are collectively termed the CIE System (Commission Internationale de l'Eclairage, or International Commission on Illumination). A useful explanation of color, the CIE system and color spaces is provided in Billmeyer & Saltzman, Principles of Color Technology, (2nd ed. 1981).
RGB signals designate the coordinates for three component values that may be combined to produce any color within the RGB signal space. CIE color matching functions x, y, and z may be derived from RGB color matching functions. The x, y, and z functions are used directly in the derivation of appropriate CIE X, Y, and Z tristimulus values (hereafter, "XYZ" values) for a color. Derivation of XYZ values is well known.
The XYZ values of the spectral colors have been converted into a two-dimensional color map known as the 1931 CIE chromaticity diagram. The chromaticity coordinates x and y are derived by calculating the ratios of the respective X and Y tristimulus values to the sum of X, Y, and Z values of that color. The x and y chromaticity coordinates for any real color are located within an area defined by the spectral locus and a line joining the ends of the spectral locus. The 1931 CIE chromaticity diagram is actually representative of three-dimensional color, with the third dimension Y (luminance) orthogonal to and lying above the x, y plane.
The three-dimensional color specification system just described is known as the CIExyY system. Any real color can be specified in terms of the CIExyY color specification system and directly related to the particular CIE XYZ values. The CIExyY system is a widely accepted method for specifying color. Further, data expressed in terms of the 1931 CIE chromaticity diagram is valuable because it can be used to predict the color resulting from a mixture of two or more colors. Addition of XYZ values of individual colors yields the XYZ values of the resulting mixed color.
Efforts have been made to transform the CIE color specification standard into perceptually uniform color spaces, while preserving the additive mixing feature of the 1931 CIE chromaticity diagram. Both linear and nonlinear transformations of the CIE System have been proposed to provide a more nearly perceptually uniform color space. Nonlinear transformations of the CIE XYZ System include a two dimensional uniform chromaticity diagram (known as the CIE 1976 UCS diagram), having u' and v' coordinates that approximate a perceptually uniform color plane. The u' and v' coordinates are directly related to the x and y chromaticity coordinates (hence, to the XYZ values). The diagram defined by the u' and v' coordinates has been mathematically converted to a color space referred to as CIELUV that approximates perceptual uniformity. All the coordinates of the CIELUV system are directly related, via the CIExyY system to the CIE XYZ values.
Despite the relatively successful attempts to define a substantially uniform color space, efforts to match color signals from different output devices and to produce printed output having predictable, high quality color characteristics have produced generally less than satisfactory results.